/**
 * 
 */
package com.designpattern.dao;

import java.util.List;

import com.designpattern.vo.Student;

/**
 * @author Thong
 *
 */
public interface StudentDao {
	/**
	 * Data Access Object interface	- this interface define the standard operations to be performed on 
	 * a model object(s)
	 * example: getAll(Object object)
	 * 			insert(Object object)
	 * 			update(Object object)
	 * 			delete(Object object)
	 * 			
	 */
	
	/**
	 * get all students from database
	 * 
	 * @return List<Student>
	 */
	List<Student> getAllStudents();
	
	/**
	 * Update information of a student.
	 * @param student
	 */
	void updateStudent(Student student);
	
	/**
	 * insert a student to db.
	 * @param student
	 */
	void insertStudent(Student student);
	
	/**
	 * delete a student from db.
	 * @param student
	 */
	void deleteStudent(Student student);
	

}
